These days there are software applications that are available to users for interacting with virtual and/or physical objects in a Virtual Reality (VR) environment or an Augmented Reality (AR) environment. For instance, some VR applications may allow users to play games, while other VR applications may allow users to interact with virtual objects in other three-dimensional graphical environments. Some of these applications may also provide an Augmented Reality (AR) environment in which a user may interact with physical objects located in the actual environment, as well as virtual objects depicted within the three-dimensional graphical environment.
Different methods and interfaces can be utilized by users to interact with these environments. Some VR/AR applications allows the use of more than one input mode when interacting with an environment. The Multimodal Interfaces (MMIs) that process two or more different user input modes may be configured to allow the user to provide both speech input as well as gesture input, or some other combination of input. For example, a user may perform physical gestures, provide speech input, as well as move within the environment.
Developing a VR/AR application, however, can be challenging and time consuming. For example, developers have to create programming code for receiving and processing data received from different input devices, as well as developing programming code for displaying objects (e.g., physical and/or virtual objects) in the environment. In addition to processing the input received from the different devices, it can be difficult and time consuming for a developer to create a virtual environment. For instance, the developer has to specify the different graphical models to include the environment, as well as define the layout of the environment. Even after creating an application, however, the input devices that are available typically change. As such, there is a never ending cycle of having to update the VR/AR application.